This invention relates to integrated circuit devices, and more particularly to high-speed serial data signal interface or transceiver circuitry for use on programmable integrated circuit devices.
At present there is a great deal of interest in using high-speed serial data signalling for inter-device communication in many contexts. It is therefore desirable to give integrated circuit devices and especially programmable integrated circuit devices such as programmable microcontrollers, programmable logic devices (“PLDs”), etc., the ability to support such communication. However, various users of an integrated circuit of any of the above kinds may want to use high-speed serial communication in any of a large number of different forms. These forms may differ in such respects a data rate, byte or word length, etc. It can be difficult to provide high-speed serial interface or transceiver circuitry on an integrated circuit of any of the above kinds that can readily support so many different possible forms of high-speed serial communication.
High-speed serial communication on a device of the above kinds is typically supported by some circuitry that is hard-wired or at least partly hard-wired to perform some of the high-speed serial interface (“HSSI”) tasks. At the very least, this hard-wired circuitry tends to be the part(s) that must handle the highest clock rates. On the transmitter side this is typically at least the final parallel-to-serial converter and serial data signal output driver circuitry. On the receiver side this is typically at least the serial data signal input buffer, the clock and data recovery (“CDR”) circuitry, and the initial serial-to-parallel converter. Other functions associated with HSSI can be performed at lower clock rates in programmable circuitry of the device.
Interfacing between the hard-wired circuitry and the programmable circuitry of a device for the many different possible forms of high-speed serial communication that may be desired by various users can be a complex task. Although the hard-wired circuitry is dedicated to performing particular functions, some of its parameters may be selectable (e.g., programmable). Thus the hard-wired circuit does not always “look the same” to the programmable circuitry. Rather, that programmable circuitry must be extensively customized (i.e., programmed) to interface appropriately with each of the many different possible configurations and uses of the hard-wired circuitry. This is an undesirable burden on users of programmable integrated circuits for high-speed serial communication.